package com.hyt.it.ogt.kq.service.gov.feign.ks.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hyt.common.apiInfor.DataType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * <p>
 * 考试基本信息
 * </p>
 *
 * @author zhoumiao
 * @since 2030-02-02
 */

@Data
@ApiModel(value="考试基本信息")
public class KwExamVO {

    private static final long serialVersionUID = 1L;
    
    @ApiModelProperty(value = "考试任务Id", dataType= DataType.STRING)
    private String id;
    
    @ApiModelProperty(value = "考试任务名称", dataType= DataType.STRING)
    private String taskName;

    @ApiModelProperty(value = "考试名称", dataType= DataType.STRING)
    @Length(min=1, max = 50, message = "考试名称不能为空且长度在[1,50]之间")
    @NotNull(message = "考试名称不能为空")
    private String examName;

    @ApiModelProperty(value = "开始时间，时间格式yyyy-MM-dd HH:mm:ss", dataType= DataType.STRING)
    @NotNull(message = "开始时间不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss" , timezone="GMT+8")
    private LocalDateTime beginDate;

    @ApiModelProperty(value = "结束时间，时间格式yyyy-MM-dd HH:mm:ss", dataType= DataType.STRING)
    @NotNull(message = "结束时间不能为空")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss" , timezone="GMT+8")
    private LocalDateTime endDate;

    @ApiModelProperty(value = "考试url", dataType= DataType.STRING)
    private String examUrl;

    @ApiModelProperty(value = "考试id", dataType= DataType.INT)
    private Integer randomId;

    @ApiModelProperty(value = "考试协议", dataType= DataType.INT)
    private String examAgreement;

    @ApiModelProperty(value = "科目名称")
    private String subjectName;
}
